package com.wyg.demo.component;

import com.opencsv.bean.CsvToBeanBuilder;
import org.springframework.stereotype.Component;

import java.io.FileReader;
import java.io.IOException;
import java.util.List;

/**
 * @author ygWen
 * @Description: csv文件操作类
 * @date 2021/12/29
 */
@Component
public class CsvOperation {
    
    /**
     * 读取csv文件中的内容
     * @param bean 与csv文件中数据对应的实体类
     * @param tClass 实体类的.class形式
     * @param csvFile csv文件路径
     * @param <T> 实体类类型
     * @return list集合(csv文件中一行数据为一个单位)
     */
    public <T> List<T> csvToBean(T bean, Class<T> tClass, String csvFile) throws IOException {
        FileReader fileReader = new FileReader(csvFile);
        List<T> myBeanList = new CsvToBeanBuilder<T>(fileReader).withType(tClass).build().parse();
        return myBeanList;
    }
    
}
